package models

import (
	"gitee.com/luleilulei/tk/config"
	"gorm.io/driver/mysql"
	"gorm.io/gorm"
)

var DB *gorm.DB

func InitDB() {
	var err error
	// config.DBConnectString(): 返回描述数据库连接的信息
	// gorm.Open(): 连接数据库
	// &gorm.Config: gorm在数据库建立连接后框架本身做的一些默认配置
	DB, err = gorm.Open(mysql.Open(config.DBConnectString()), &gorm.Config{
		PrepareStmt:            true, //缓存预编译命令
		SkipDefaultTransaction: true, //禁用默认事务操作
		//Logger:                 logger.Default.LogMode(logger.Info), //打印sql语句
	})
	if err != nil {
		// 如果连接数据库不成功，强行报错退出
		panic(err)
	}
	// 自动建表
	err = DB.AutoMigrate(&UserInfo{}, &Video{}, &Comment{}, &UserLogin{})
	if err != nil {
		// 如果建表失败，强行报错退出
		panic(err)
	}
}
